#ifndef HDR_DRAWCAMERAMARKER
#define HDR_DRAWCAMERAMARKER

#include <Eigen/Core>
#include <cmath>

/// Renders a camera frame
struct DrawCameraMarker {
	/// Horizontal field of view of the camera, in radians
	double fov;

	/// Sensor aspect ratio (width/height)
	double aspect;

	/// size of camera
	double z;

	/// Base frame colour
	Eigen::Vector4f colour;

	/// Whether to emit texture coords
	bool emitTexCoords;

	explicit DrawCameraMarker(double fov = 60.0*M_PI/180.0, double aspect = 4.0/3.0, double z = 1.0);
	explicit DrawCameraMarker(double fov, double aspect, double z, const Eigen::Vector4f& col);

	void render() const;
};

#endif
